class A
{
    public:
    virtual void vfunc(int ) const
    {
    }
    virtual void vfunc2(int ) final
    {
    }
};

class B : public A
{
    public:
    // void vfunc(int ) override { }  // 编译错误，因为函数签名不一致，并非重写
    void vfunc(int) const override {}       // ok

    // void vfunc2(int ) override { } // 编译错误，无法重写final函数
};

int main()
{

}